
تجربیات و نکات تست نفوذ؛ با الهه حسنپور
در این بلاگپست، به سراغ یک فعال حوزه تست نفوذ در دنیای امنیت سایبری رفتهایم تا با او گپوگفت کوتاهی دربارهی تجربیاتش در تست نفوذ داشته باشیم؛ الهه حسنپور
ما مصاحبهی دیگری هم با الهه داشتهایم: گپوگفتی با شکارچی آسیب پذیری؛ الهه حسنپور
الهه حدود 3 سال است که وارد حوزهی امنیت سایبری شده است و حدود 2 سال است که در حوزهی تست نفوذ فعالیت میکند. عاشق تمام آسیب پذیری های مربوط به cache است. این طور به نظرش میرسد که بعضی شرکتهای تست نفوذ در انجام کارشان کملطفی میکنند. معتقد است برخی کسبوکارها زمان کافی را برای فرآیند تست نفوذ در نظر نمیگیرند. فکر میکند اگر یک سامانه توسط چند تیم تست نفوذ، تست شود، قطعا نتیجهی بهتری خواهد داشت. چراکه هر کسی یک متدلوژی مخصوص خود و نگاه اختصاصی خودش را دارد. یک تفاوت کار فردی و تیمی را در این میداند که، در کار تیمی بحث ارتباط هم در میان است. امیدوار است که کسبوکارهای مختلف به امنیتشان بیشتر توجه کنند.
_ از نگاه شما، تفاوت یک تست نفوذ خوب و یک تست نفوذ بد در چیست؟
همانطور که گفتم من حدود 2 سال است که تست نفوذ میپردازم و میتوان گفت که تجربهی خیلی زیادی در آن ندارم. با این وجود از تجربهها و مشاهداتم میگویم.
برخی سامانهها پس از اینکه تست نفوذ میشوند، به تیم دیگری هم برای تست نفوذ سپرده میشوند. در تجربهی من مواقعی بوده که ما دومین یا چندمین تیمی بودهایم که به تست نفوذ سازمان پرداختهایم. گاهی آسیب پذیری های متعدد یا غیرقابلانتظاری از سامانه کشف میکنیم که براساس آن فکر میکنیم تست نفوذ قبلی بهخوبی انجام نشده است. من فکر میکنم این خوب انجام نشدن تست نفوذ میتواند دو دلیل داشته باشد.
یک دلیل میتواند به تیم تست نفوذی که تست نفوذ را انجام دادهاند، مرتبط باشد. ممکن است فقط اسکنر را اجرا کنند و آسیب پذیریهایی که از این طریق کشف شده را گزارش کنند. آسیب پذیری های Logic (منطقی) را اصلا بررسی نکنند. خب آن اسکنر اصلا آسیب پذیری های منطقی را که پیدا نمیکند، فقط مواردی که signature دارند را تشخیص میدهد. من خودم بهصورت پارهوقت به شکار آسیب پذیری میپردازم. از بررسیها و مشاهداتم این طور به نظرم میرسد که بعضی شرکتهای تست نفوذ با کملطفی، فقط به راههای محدودی اکتفا میکنند.
یک دلیل دیگرش میتواند اثر فشاری که تیم تست نفوذ برای انجام کار تجربه میکند، باشد. بعضی کسبوکارها وقتی برای تست نفوذ سامانهشان سراغتان میآیند، زمان کمی برایش در نظر گرفتهاند. در آن زمان کم (حتی گاهی دو روزه!) تیم یا فرد هم باید تست نفوذ را انجام دهد، هم فرآیندهای مدیریتی را پیش ببرد، هم گزارشش را بنویسد و ارسالش کند. همین کافینبودن زمان قطعا باعث میشود که برخی موارد از دست بروند؛ از قلم بیفتند، به خوبی بررسی نشوند یا ... .
البته که گاهی کسبوکارها، تست نفوذ را انجام میدهند و پس از آن به رفع آسیب پذیریها اهمیتی نمیدهند. بهعبارتی، تست نفوذ را تمام و کمال انجام نمیدهند. که این مورد هم ممکن است به محدودیت زمانی کسبوکار برگردد. من تجربهی مواجهه با این مورد را از شکارچیان آسیب پذیری مختلفی هم شنیدهام.
تیم تست نفوذ کارش زمان قابلتوجهی میبرد. اینطور نیست که بگویی " من فقط تخصصم در آسیبپذیری های authentication و injection است، فقط همان موارد را بهطور اساسی و متمرکز تست میکنم." شما در یک پروژه تست نفوذ، بهعنوان یک متخصص تست نفوذ باید تمام فیچرها را تست کنی. وقتی از شما سوالی میپرسند، باید براساس بررسیات بتوانی راجع به تمامشان توضیح دهی. اگر که قسمتی را تست نکرده باشی، بعدا مورد بازخواست قرار میگیری. یک عامل موثر بر کیفیت تست نفوذ همین است که تمام موارد بررسی شده باشند. اما گاهی تست نفوذها سلیقهای انجام میشوند یا زمان کافی برای بررسی تمامو کمال موارد وجود ندارد.
وقتی یک شکارچی آسیب پذیری میآید و دو روز وقت را فقط برای بررسی آسیب پذیری authentication اختصاص میدهد. خب این bypass میشود دیگر. احتمال بیشتری دارد که آسیب پذیریای کشف شود. گاهی شکارچی آسیب پذیری، وجود این آسیب پذیری را ضعف تیم تست نفوذ میداند. درحالیکه اینطور نیست. در تست نفوذ قرار است که کل سامانه یک دور بررسی شود و معمولا زمان کمی هم برایش درنظر گرفته شده است. برای من مواقعی پیش آمده که ما مجبور شدهایم تا ساعت 12 شب در شرکت بمانیم و به تست نفوذ بپردازیم. از ساعت 8 صبح تا 12 شب! در این زمان مشغول تست نفوذ بودهایم و گاهی درکنارش کارهای دیگری هم بوده. خب در این بین قطعا چیزهایی هم از دستمان در میرود. من فکر میکنم محدودیت زمانی و فشاری در فرآیند تست نفوذ برای بررسی وجود دارد. اما در باگ بانتی و برای شکارچیان آسیب پذیری به این شکل نیست.
من فکر میکنم اگر یک سامانه توسط چند تیم تست نفوذ، تست شود، قطعا نتیجهی بهتری خواهد داشت. چراکه هر کسی یک متدلوژی مخصوص خود و نگاه اختصاصی خودش را دارد. مثلا؛ بعضی از افرادی که به تست نفوذ میپردازند، تجربهی دولوپر بودن را دارند. خب دولوپرها نگاه ساختاری بیشتری به ماجرا دارند و این کمککننده است. در کنارش مثلا منی هم هستم که تجربه و نگاه متفاوتی دارم. افراد دیگر هم نگاه، تجربه و متدولوژی خاص خود را دارند. استفاده از نگاههای مختلف و متدولوژیهای مختلف منجر به این هم میشود که آسیب پذیریهای بیشتری کشف شوند.
پیشنهاد خواندنی: تست نفوذ خوب و تست نفوذ بد
_ ظاهرا شما هم تجربهی تست نفوذ تیمی را دارید و هم تست نفوذ فردی را. دوست داری کمی از این تجربهها برایمان بگویی؟
وقتیکه شما تنهایی شکار میکنی یا تست نفوذ را انجام میدهی، به این صورت است که مثلا یک فیچر را تست میکنی، test caseهایی که داری را رویش پیش میبری و مثلا میبینی که آسیب پذیر نبود یا اصطلاحا "باگ نخورد". با خودت میگویی: "اوکی. شاید این قسمت امن است، باگ نمیخورد." ولی وقتی که در تیم کار میکنی ممکن است موردی که شما از دستش دادهای را، یک نفر دیگر در بررسیاش پیدایش میکند.
در روند کار تیمی، یادگیری بهتری هم برای اعضا اتفاق میافتد. با خودت میگویی :" آها، من این test case را نداشتم. پس منم به library و لیست test caseها اضافهاش میکنم. به نظرم اینطوری خیلی هم جالب است که وقتی این موارد تست میشود، آدمها میتوانند اصطلاحا "missهایشان را بفهمند" و متوجه شوند که در کجاها ضعف دارند.
البته کار تیمی سختیهایی هم دارد. حداقل برای من کار تیمی سختتر است. و یکجورهایی احساس میکنم که خودم را با آن هماهنگ کنم. مثلا در یک تیم نظرات مختلفی وجود دارد و نیاز است که این مسائل هندل شوند. یک تفاوت کار فردی و تیمی در این است که، وقتی در کار تیمی بحث ارتباط هم در میان است. وقتی مشکلی ایجاد میشود، نیاز است که همانجا حلش کنیم. نباید اجازه بدهیم که برروی دیگر اعضا یا تیم تاثیر منفی بگذارد. و این در روند کار تیمی خیلی خیلی چالش برانگیز است.
پیشنهاد خواندنی: چرا تست نفوذ تیمی؟
_ ممنون که وقت گذاشتی، در این گپوگفت همراه ما بودی و تجربیاتت در خصوص تست نفوذ را به اشتراک گذاشتی، الهه عزیز.
بلاگپستهای مرتبط:
تجربیات و نکات تست نفوذ؛ با ندا